import pandas as pd
import matplotlib.pyplot as plt

# 读取CSV文件
data = pd.read_csv("cleaned_data.csv")

# 统计不同weather对应的count总和
weather_counts = data.groupby('weather')['count'].sum()

# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置中文显示
plt.rcParams['axes.unicode_minus'] = False    # 解决保存图像是负号'-'显示为方块的问题

# 绘制条形图
bars = plt.bar(weather_counts.index, weather_counts.values, color='magenta')
plt.xlabel('天气情况')
plt.ylabel('租用数')
plt.title('不同天气情况下租用单车总数')

# 在每个条形上方显示具体数值
for bar in bars:
    yval = bar.get_height()
    plt.text(bar.get_x() + bar.get_width()/2.0, yval, int(yval), va='bottom', ha='center')

plt.xticks(weather_counts.index, ['晴天/多云', '雾天/阴天', '小雪/小雨', '大雨/大雪/大雾'])  # 将数字标签改为对应的天气情况
plt.show()
